home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 1995 July & August / cd No4 joystick No62.iso / mac / pc / SHARE / LIGHTLIB / LANGUAGE.Z / LLB.H < prev    next >
C/C++ Source or Header  |  1995-02-17  |  22KB  |  425 lines

  1. ////////////////////////////////////////////////////////////////////////////////
  2. // LIGHT LIB BUSINESS HEADER FILE                                             //
  3. ////////////////////////////////////////////////////////////////////////////////
  4. #ifndef  LLB_HEADER
  5. #define  LLB_HEADER
  6.  
  7. #include "llo.h" // Include LIGHT LIB OBJECT HEADER FILE
  8.  
  9. ////////////////////////////////////////////////////////////////////////////////
  10. // LIBRARY                                                                    //
  11. ////////////////////////////////////////////////////////////////////////////////
  12. #define LLO_LIBRARY_BUSINESS                    0x02000000L
  13.  
  14.  
  15. ////////////////////////////////////////////////////////////////////////////////
  16. // CLASSES                                                                    //
  17. ////////////////////////////////////////////////////////////////////////////////
  18. #define LLB_CLASS_APPLICATION                   LLO_LIBRARY_BUSINESS + 0x000000L
  19.  
  20. #define LLB_CLASS_GRAPH                         LLO_LIBRARY_BUSINESS + 0x010000L
  21. #define LLB_CLASS_COLUMN                        LLO_LIBRARY_BUSINESS + 0x020000L
  22. #define LLB_CLASS_X_AXIS                        LLO_LIBRARY_BUSINESS + 0x030000L
  23. #define LLB_CLASS_Y_AXIS                        LLO_LIBRARY_BUSINESS + 0x040000L
  24. #define LLB_CLASS_LEGEND                        LLO_LIBRARY_BUSINESS + 0x050000L
  25. #define LLB_CLASS_FONT                          LLO_LIBRARY_BUSINESS + 0x060000L
  26.  
  27.  
  28. ////////////////////////////////////////////////////////////////////////////////
  29. // PROPERTIES                                                                 //
  30. ////////////////////////////////////////////////////////////////////////////////
  31. // Application Context Properties
  32.  
  33.  
  34. // Graph Properties
  35. #define LLB_GRAPH_SKIPPER_ROTATE                LLB_CLASS_GRAPH  + 0x0004
  36.  
  37. //#define LLB_GRAPH_ON_ERROR                      LLB_CLASS_GRAPH  + 0x000A
  38. //#define LLB_GRAPH_LAST_ERROR                    LLB_CLASS_GRAPH  + 0x0014
  39. #define LLB_GRAPH_ON_MOUSE                      LLB_CLASS_GRAPH  + 0x001E
  40.  
  41. #define LLB_GRAPH_SKIPPER                       LLB_CLASS_GRAPH  + 0x0064
  42. #define LLB_GRAPH_GO_TOP                        LLB_CLASS_GRAPH  + 0x006E
  43. #define LLB_GRAPH_GO_BOTTOM                     LLB_CLASS_GRAPH  + 0x0078
  44.  
  45. #define LLB_GRAPH_INVALIDATE_DATA               LLB_CLASS_GRAPH  + 0x00C8
  46.  
  47. #define LLB_GRAPH_NUM_COL_IN_GRAPH              LLB_CLASS_GRAPH  + 0x012C
  48. #define LLB_GRAPH_IS_STABLE                     LLB_CLASS_GRAPH  + 0x0136
  49. #define LLB_GRAPH_NUM_COL_IN_VIEW               LLB_CLASS_GRAPH  + 0x0140
  50. #define LLB_GRAPH_NUM_ROW_IN_VIEW               LLB_CLASS_GRAPH  + 0x014A
  51.  
  52. #define LLB_GRAPH_LEGEND                        LLB_CLASS_GRAPH  + 0x0190
  53.  
  54. #define LLB_GRAPH_X_AXIS                        LLB_CLASS_GRAPH  + 0x01f4
  55. #define LLB_GRAPH_Y_AXIS_LEFT                   LLB_CLASS_GRAPH  + 0x01FE
  56. #define LLB_GRAPH_Y_AXIS_RIGHT                  LLB_CLASS_GRAPH  + 0x0208
  57.  
  58. #define LLB_GRAPH_Y_TO_X_RATIO_AUTO             LLB_CLASS_GRAPH  + 0x0259
  59.  
  60. #define LLB_GRAPH_Y_TO_X_RATIO                  LLB_CLASS_GRAPH  + 0x0258
  61. #define LLB_GRAPH_Z_TO_X_ANGLE                  LLB_CLASS_GRAPH  + 0x0262
  62. #define LLB_GRAPH_Z_TO_X_RATIO                  LLB_CLASS_GRAPH  + 0x026C
  63.  
  64. #define LLB_GRAPH_START_ANGLE                   LLB_CLASS_GRAPH  + 0x026E
  65.  
  66. #define LLB_GRAPH_WINDOW_HANDLE                 LLB_CLASS_GRAPH  + 0x02BC
  67. #define LLB_GRAPH_DEVICE_CONTEXT                LLB_CLASS_GRAPH  + 0x02C6
  68.  
  69. #define LLB_GRAPH_COORD_LEFT                    LLB_CLASS_GRAPH  + 0x0320
  70. #define LLB_GRAPH_COORD_TOP                     LLB_CLASS_GRAPH  + 0x032A
  71. #define LLB_GRAPH_COORD_RIGHT                   LLB_CLASS_GRAPH  + 0x0334
  72. #define LLB_GRAPH_COORD_BOTTOM                  LLB_CLASS_GRAPH  + 0x033E
  73. #define LLB_GRAPH_MARGIN_LEFT                   LLB_CLASS_GRAPH  + 0x0348
  74. #define LLB_GRAPH_MARGIN_TOP                    LLB_CLASS_GRAPH  + 0x0352
  75. #define LLB_GRAPH_MARGIN_RIGHT                  LLB_CLASS_GRAPH  + 0x035C
  76. #define LLB_GRAPH_MARGIN_BOTTOM                 LLB_CLASS_GRAPH  + 0x0366
  77. #define LLB_GRAPH_COORD_WIDTH                   LLB_CLASS_GRAPH  + 0x0370
  78. #define LLB_GRAPH_COORD_HEIGHT                  LLB_CLASS_GRAPH  + 0x037A
  79. #define LLB_GRAPH_COORD_MAXIMIZE                LLB_CLASS_GRAPH  + 0x037F
  80.  
  81. #define LLB_GRAPH_SIDE_XY_COLORFILL             LLB_CLASS_GRAPH  + 0x0384
  82. #define LLB_GRAPH_SIDE_XY_3D_EFFECT             LLB_CLASS_GRAPH  + 0x038E
  83. #define LLB_GRAPH_SIDE_XY_GRID                  LLB_CLASS_GRAPH  + 0x0398
  84. #define LLB_GRAPH_SIDE_XY_TRANSPARENT           LLB_CLASS_GRAPH  + 0x03A2
  85.  
  86. #define LLB_GRAPH_SIDE_ZY_COLORFILL             LLB_CLASS_GRAPH  + 0x03E8
  87. #define LLB_GRAPH_SIDE_ZY_3D_EFFECT             LLB_CLASS_GRAPH  + 0x03F2
  88. #define LLB_GRAPH_SIDE_ZY_GRID                  LLB_CLASS_GRAPH  + 0x03FC
  89. #define LLB_GRAPH_SIDE_ZY_TRANSPARENT           LLB_CLASS_GRAPH  + 0x0406
  90.  
  91. #define LLB_GRAPH_SIDE_ZX_COLORFILL             LLB_CLASS_GRAPH  + 0x0456
  92. #define LLB_GRAPH_SIDE_ZX_3D_EFFECT             LLB_CLASS_GRAPH  + 0x0460
  93. #define LLB_GRAPH_SIDE_ZX_GRID                  LLB_CLASS_GRAPH  + 0x046A
  94. #define LLB_GRAPH_SIDE_ZX_TRANSPARENT           LLB_CLASS_GRAPH  + 0x0474
  95.  
  96. #define LLB_GRAPH_TYPE                          LLB_CLASS_GRAPH  + 0x04B0
  97. #define LLB_GRAPH_EFFECT_3D                     LLB_CLASS_GRAPH  + 0x04BA
  98. #define LLB_GRAPH_FILLED                        LLB_CLASS_GRAPH  + 0x04C4
  99. #define LLB_GRAPH_HOT_SPOT                      LLB_CLASS_GRAPH  + 0x04C5
  100.  
  101. #define LLB_GRAPH_NUM_2_COLUMN_IN_GRAPH         LLB_CLASS_GRAPH  + 0x0514
  102. #define LLB_GRAPH_NUM_2_COLUMN_IN_VIEW          LLB_CLASS_GRAPH  + 0x051E
  103.  
  104. #define LLB_GRAPH_FIRST_COLUMN_IN_VIEW          LLB_CLASS_GRAPH  + 0x0578
  105.  
  106. #define LLB_GRAPH_TITLE                         LLB_CLASS_GRAPH  + 0x05DC
  107. #define LLB_GRAPH_TITLE_FONT                    LLB_CLASS_GRAPH  + 0x05E6
  108.  
  109. #define LLB_GRAPH_COLUMN_COLOR_FREEZE           LLB_CLASS_GRAPH  + 0x06A5
  110.  
  111. #define LLB_GRAPH_COLOR_WHELL                   LLB_CLASS_GRAPH  + 0x06A4
  112. #define LLB_GRAPH_COLOR_OUTLINE                 LLB_CLASS_GRAPH  + 0x06A6
  113. #define LLB_GRAPH_COLOR_BK                      LLB_CLASS_GRAPH  + 0x06A7
  114.  
  115. #define LLB_GRAPH_ERASE_TEXT                    LLB_CLASS_GRAPH  + 0x0640
  116. #define LLB_GRAPH_WINDOW_COLOR_BK               LLB_CLASS_GRAPH  + 0x064A
  117.  
  118.  
  119. // Column Properties
  120. #define LLB_COLUMN_ON_MOUSE                     LLB_CLASS_COLUMN + 0x000A
  121. #define LLB_COLUMN_DATA_SOURCE                  LLB_CLASS_COLUMN + 0x0014
  122.  
  123. #define LLB_COLUMN_ATTACHED_TO_Y_AXIS_LEFT      LLB_CLASS_COLUMN + 0x0064
  124.  
  125. #define LLB_COLUMN_COLOR                        LLB_CLASS_COLUMN + 0x00C8
  126.  
  127. #define LLB_COLUMN_COLORFILL_1                  LLB_CLASS_COLUMN + 0x00D2
  128. #define LLB_COLUMN_COLORFILL_2                  LLB_CLASS_COLUMN + 0x00D3
  129. #define LLB_COLUMN_COLORFILL_3                  LLB_CLASS_COLUMN + 0x00D4
  130. #define LLB_COLUMN_COLORFILL_4                  LLB_CLASS_COLUMN + 0x00D5
  131.  
  132. #define LLB_COLUMN_COLORFILL_SHADOW             LLB_CLASS_COLUMN + 0x00DC
  133. #define LLB_COLUMN_COLOR_AUTO_SHADOW            LLB_CLASS_COLUMN + 0x00DE
  134.  
  135. #define LLB_COLUMN_TYPE                         LLB_CLASS_COLUMN + 0x02BC
  136. #define LLB_COLUMN_EFFECT_3D                    LLB_CLASS_COLUMN + 0x02C6
  137. #define LLB_COLUMN_EFFECT_FILLED                LLB_CLASS_COLUMN + 0x02D0
  138.  
  139. #define LLB_COLUMN_SYMBOL                       LLB_CLASS_COLUMN + 0x02D2
  140.  
  141. #define LLB_COLUMN_X_WIDTH                      LLB_CLASS_COLUMN + 0x012C
  142. #define LLB_COLUMN_X_OFFSET                     LLB_CLASS_COLUMN + 0x0136
  143. #define LLB_COLUMN_Y_WIDTH                      LLB_CLASS_COLUMN + 0x0140
  144. #define LLB_COLUMN_Y_OFFSET                     LLB_CLASS_COLUMN + 0x014A
  145.  
  146. #define LLB_COLUMN_TITLE                        LLB_CLASS_COLUMN + 0x0190
  147. #define LLB_COLUMN_TITLE_FONT                   LLB_CLASS_COLUMN + 0x01A4
  148.  
  149. #define LLB_COLUMN_POS_IN_GRAPH                 LLB_CLASS_COLUMN + 0x01FA
  150.  
  151. #define LLB_COLUMN_PEN_WIDTH                    LLB_CLASS_COLUMN + 0x01FE
  152.  
  153. #define LLB_COLUMN_FREEZE                       LLB_CLASS_COLUMN + 0x0258
  154.  
  155. #define LLB_COLUMN_MULTIPLE                     LLB_CLASS_COLUMN + 0x0259
  156.  
  157. // X Axis Properties
  158. #define LLB_X_AXIS_DATA_SOURCE                  LLB_CLASS_X_AXIS + 0x000A
  159. #define LLB_X_AXIS_ON_MOUSE                     LLB_CLASS_X_AXIS + 0x0014
  160.  
  161. #define LLB_X_AXIS_COLOR                        LLB_CLASS_X_AXIS + 0x0064
  162.  
  163. #define LLB_X_AXIS_HEADER                       LLB_CLASS_X_AXIS + 0x00C8
  164. #define LLB_X_AXIS_HEADER_FONT                  LLB_CLASS_X_AXIS + 0x00D2
  165.  
  166. #define LLB_X_AXIS_TITLE                        LLB_CLASS_X_AXIS + 0x012C
  167. #define LLB_X_AXIS_TITLE_FONT                   LLB_CLASS_X_AXIS + 0x0136
  168.  
  169. #define LLB_X_AXIS_LABEL_FONT                   LLB_CLASS_X_AXIS + 0x0190
  170.  
  171.  
  172. // Y Axis Properties
  173. #define LLB_Y_AXIS_ON_LEFT                      LLB_CLASS_Y_AXIS + 0x000A
  174. #define LLB_Y_AXIS_ON_MOUSE                     LLB_CLASS_Y_AXIS + 0x0014
  175.  
  176. #define LLB_Y_AXIS_VALUE_TO_SCALE               LLB_CLASS_Y_AXIS + 0x0064
  177. #define LLB_Y_AXIS_VALUE_TO_STRING              LLB_CLASS_Y_AXIS + 0x006E
  178.  
  179. #define LLB_Y_AXIS_COLOR                        LLB_CLASS_Y_AXIS + 0x00C8
  180.  
  181. #define LLB_Y_AXIS_AUTOSIZE                     LLB_CLASS_Y_AXIS + 0x012C
  182. #define LLB_Y_AXIS_MIN                          LLB_CLASS_Y_AXIS + 0x0136
  183. #define LLB_Y_AXIS_MAX                          LLB_CLASS_Y_AXIS + 0x0140
  184. #define LLB_Y_AXIS_BASE                         LLB_CLASS_Y_AXIS + 0x014A
  185.  
  186. #define LLB_Y_AXIS_FORMAT_AUTO                  LLB_CLASS_Y_AXIS + 0x0065
  187. #define LLB_Y_AXIS_FORMAT_WIDTH                 LLB_CLASS_Y_AXIS + 0x0066
  188. #define LLB_Y_AXIS_FORMAT_DECIMAL               LLB_CLASS_Y_AXIS + 0x0067
  189.  
  190. #define LLB_Y_AXIS_AUTOSIZE_STEP                LLB_CLASS_Y_AXIS + 0x0190
  191. #define LLB_Y_AXIS_STEP_MAJOR                   LLB_CLASS_Y_AXIS + 0x019A
  192. #define LLB_Y_AXIS_STEP_MAJOR_TYPE              LLB_CLASS_Y_AXIS + 0x01A4
  193. #define LLB_Y_AXIS_STEP_MAJOR_COLOR             LLB_CLASS_Y_AXIS + 0x01AE
  194. #define LLB_Y_AXIS_STEP_MINOR                   LLB_CLASS_Y_AXIS + 0x01B8
  195. #define LLB_Y_AXIS_STEP_MINOR_TYPE              LLB_CLASS_Y_AXIS + 0x01C2
  196. #define LLB_Y_AXIS_STEP_MINOR_COLOR             LLB_CLASS_Y_AXIS + 0x01CC
  197.  
  198. #define LLB_Y_AXIS_HEADER                       LLB_CLASS_Y_AXIS + 0x01F4
  199. #define LLB_Y_AXIS_HEADER_FONT                  LLB_CLASS_Y_AXIS + 0x01FE
  200.  
  201. #define LLB_Y_AXIS_TITLE                        LLB_CLASS_Y_AXIS + 0x0258
  202. #define LLB_Y_AXIS_TITLE_FONT                   LLB_CLASS_Y_AXIS + 0x0262
  203.  
  204. #define LLB_Y_AXIS_LABEL_FONT                   LLB_CLASS_Y_AXIS + 0x02BC
  205.  
  206.  
  207. // Legend Properties
  208. #define LLB_LEGEND_ON_MOUSE                     LLB_CLASS_LEGEND + 0x000A
  209. #define LLB_LEGEND_VISIBLE                      LLB_CLASS_LEGEND + 0x0014
  210. #define LLB_LEGEND_POSITION                     LLB_CLASS_LEGEND + 0x001E
  211.  
  212. #define LLB_LEGEND_COLOR_OUTLINE                LLB_CLASS_LEGEND + 0x0020
  213. #define LLB_LEGEND_COLOR_BK                     LLB_CLASS_LEGEND + 0x0021
  214.  
  215. // Font Properties
  216. #define LLB_FONT_NAME                           LLB_CLASS_FONT   + 0x000A
  217. #define LLB_FONT_ITALIC                         LLB_CLASS_FONT   + 0x0014
  218. #define LLB_FONT_BOLD                           LLB_CLASS_FONT   + 0x001E
  219. #define LLB_FONT_UNDERLINE                      LLB_CLASS_FONT   + 0x0028
  220. #define LLB_FONT_COLOR                          LLB_CLASS_FONT   + 0x0032
  221.  
  222.  
  223. ////////////////////////////////////////////////////////////////////////////////
  224. // Error Code                                                                 //
  225. ////////////////////////////////////////////////////////////////////////////////
  226. #define LLB_ERROR_FREE                          LLO_LIBRARY_BUSINESS + 0x000A
  227. #define LLB_ERROR                               LLO_LIBRARY_BUSINESS + 0x0014
  228.  
  229. #define LLB_ERROR_NOT_ENOUGH_MEMORY             LLO_LIBRARY_BUSINESS + 0x0078
  230.  
  231. #define LLB_ERROR_INVALID_DEFINE                LLO_LIBRARY_BUSINESS + 0x00D2
  232. #define LLB_ERROR_INVALID_VALUE                 LLO_LIBRARY_BUSINESS + 0x00DC
  233. #define LLB_ERROR_INVALID_PERCENTAGE            LLO_LIBRARY_BUSINESS + 0x00E6
  234.  
  235. #define LLB_ERROR_NO_COLUMN_IN_GRAPH            LLO_LIBRARY_BUSINESS + 0x012C
  236.  
  237. #define LLB_ERROR_FUNCTION_GO_TOP_UNDEFINED     LLO_LIBRARY_BUSINESS + 0x0190
  238. #define LLB_ERROR_FUNCTION_GO_BOTTOM_UNDEFINED  LLO_LIBRARY_BUSINESS + 0x019A
  239. #define LLB_ERROR_FUNCTION_SKIPPER_UNDEFINED    LLO_LIBRARY_BUSINESS + 0x01A4
  240. #define LLB_ERROR_FUNCTION_GET_DATA_UNDEFINED   LLO_LIBRARY_BUSINESS + 0x01AE
  241.  
  242. #define LLB_ERROR_INVALID_Y_AXIS_VALUE          LLO_LIBRARY_BUSINESS + 0x01F4
  243. #define LLB_ERROR_INVALID_Y_AXIS_MAJOR_STEP     LLO_LIBRARY_BUSINESS + 0x01FE
  244. #define LLB_ERROR_INVALID_Y_AXIS_MINOR_STEP     LLO_LIBRARY_BUSINESS + 0x0208
  245.  
  246. #define LLB_ERROR_INVALID_DISPLAY_AREA          LLO_LIBRARY_BUSINESS + 0x0258
  247. #define LLB_ERROR_DEVICE_UNDEFINED              LLO_LIBRARY_BUSINESS + 0x0262
  248. #define LLB_ERROR_INVALID_WINDOW_HANDLE         LLO_LIBRARY_BUSINESS + 0x026C
  249.  
  250. ////////////////////////////////////////////////////////////////////////////////
  251. // Data Nil                                                                   //
  252. ////////////////////////////////////////////////////////////////////////////////
  253. #define LLB_DATA_NIL                            1.7976931348623158e+308
  254.  
  255.  
  256. ////////////////////////////////////////////////////////////////////////////////
  257. // bMove Direction                                                            //
  258. ////////////////////////////////////////////////////////////////////////////////
  259. #define LLB_MOVE_RIGHT                            0L
  260. #define LLB_MOVE_LEFT                             1L
  261. #define LLB_MOVE_PAN_RIGHT                        2L
  262. #define LLB_MOVE_PAN_LEFT                         3L
  263. #define LLB_MOVE_PAN_HOME                         4L
  264. #define LLB_MOVE_PAN_END                          5L
  265. #define LLB_MOVE_UP                               6L
  266. #define LLB_MOVE_DOWN                             7L
  267. #define LLB_MOVE_PAGE_UP                          8L
  268. #define LLB_MOVE_PAGE_DOWN                        9L
  269. #define LLB_MOVE_GO_TOP                          10L
  270. #define LLB_MOVE_GO_BOTTOM                       11L
  271.  
  272.  
  273. ////////////////////////////////////////////////////////////////////////////////
  274. // Stabilize State                                                            //
  275. ////////////////////////////////////////////////////////////////////////////////
  276. #define LLB_GRAPH_STATE_INVALID                   4L
  277. #define LLB_GRAPH_STATE_REFRESH_DATA              3L
  278. #define LLB_GRAPH_STATE_BUILD                     2L
  279. #define LLB_GRAPH_STATE_DISPLAY                   1L
  280. #define LLB_GRAPH_STATE_STABLE                    0L
  281.  
  282.  
  283. ////////////////////////////////////////////////////////////////////////////////
  284. // Graph Type                                                                 //
  285. ////////////////////////////////////////////////////////////////////////////////
  286. #define LLB_TYPE_BAR_GRAPH                       10L  // Default
  287. #define LLB_TYPE_BAR_GRAPH_STOCK                 12L
  288. #define LLB_TYPE_LINE_GRAPH                      20L
  289. #define LLB_TYPE_STACKED_BAR_GRAPH_PERCENT       32L
  290. #define LLB_TYPE_STACKED_BAR_GRAPH               30L
  291. #define LLB_TYPE_PIE_GRAPH                       40L
  292.  
  293. #define LLB_TYPE_RESET_ALL                      400L
  294.  
  295. ////////////////////////////////////////////////////////////////////////////////
  296. // Symbol                                                                     //
  297. ////////////////////////////////////////////////////////////////////////////////
  298. #define LLB_SYMBOL_SQUARE_FILLED      1L
  299. #define LLB_SYMBOL_SQUARE             2L
  300. #define LLB_SYMBOL_CIRCLE_FILLED      3L
  301. #define LLB_SYMBOL_CIRCLE             4L
  302. #define LLB_SYMBOL_TRIANGLE_B_FILLED  5L
  303. #define LLB_SYMBOL_TRIANGLE_B         6L
  304. #define LLB_SYMBOL_TRIANGLE_T_FILLED  7L
  305. #define LLB_SYMBOL_TRIANGLE_T         8L
  306. #define LLB_SYMBOL_DIAMOND_FILLED     9L
  307. #define LLB_SYMBOL_DIAMOND           10L
  308. #define LLB_SYMBOL_CROSS_1           11L
  309. #define LLB_SYMBOL_CROSS_2           12L
  310. #define LLB_SYMBOL_STAR              13L
  311.  
  312. ////////////////////////////////////////////////////////////////////////////////
  313. // Legend                                                                     //
  314. ////////////////////////////////////////////////////////////////////////////////
  315. // Legend Position
  316. #define LLB_LEGEND_ON_LEFT                        1L
  317. #define LLB_LEGEND_ON_TOP                         2L
  318. #define LLB_LEGEND_ON_RIGHT                       3L
  319. #define LLB_LEGEND_ON_BOTTOM                      4L
  320. #define LLB_LEGEND_ON_BEST                        5L
  321.  
  322.  
  323. ////////////////////////////////////////////////////////////////////////////////
  324. // Mouse Position                                                             //
  325. ////////////////////////////////////////////////////////////////////////////////
  326. // LEGEND
  327. #define LLB_MOUSE_ON_GRAPH_LEGEND                50L
  328.  
  329. // GRAPH
  330. #define LLB_MOUSE_ON_GRAPH_TITLE                 10L
  331.  
  332. #define LLB_MOUSE_ON_GRAPH_SIDE_XY               20L
  333. #define LLB_MOUSE_ON_GRAPH_SIDE_ZY               30L
  334. #define LLB_MOUSE_ON_GRAPH_SIDE_ZX               40L
  335.  
  336. // COLUMN
  337. #define LLB_MOUSE_ON_COLUMN                      60L
  338.  
  339. #define LLB_MOUSE_ON_COLUMN_DATA_1               70L
  340. #define LLB_MOUSE_ON_COLUMN_DATA_2               69L
  341. #define LLB_MOUSE_ON_COLUMN_DATA_3               68L
  342. #define LLB_MOUSE_ON_COLUMN_DATA_4               67L
  343. #define LLB_MOUSE_ON_COLUMN_DATA_PERCENT         72L
  344. #define LLB_MOUSE_ON_COLUMN_DATA_INTERVAL        74L
  345. #define LLB_MOUSE_ON_COLUMN_DATA_TOTAL           75L
  346.  
  347. #define LLB_MOUSE_ON_COLUMN_TITLE                80L
  348.  
  349. // X_AXIS
  350. #define LLB_MOUSE_ON_X_AXIS                      88L
  351. #define LLB_MOUSE_ON_X_AXIS_LABEL                90L
  352. #define LLB_MOUSE_ON_X_AXIS_TITLE               100L
  353. #define LLB_MOUSE_ON_X_AXIS_HEADER              110L
  354.  
  355. // Y AXIS
  356. #define LLB_MOUSE_ON_Y_AXIS                     118L
  357. #define LLB_MOUSE_ON_Y_AXIS_LABEL               120L
  358. #define LLB_MOUSE_ON_Y_AXIS_TITLE               130L
  359. #define LLB_MOUSE_ON_Y_AXIS_HEADER              140L
  360.  
  361.  
  362. ////////////////////////////////////////////////////////////////////////////////
  363. // Prototypes Of User Defined Functions                                       //
  364. ////////////////////////////////////////////////////////////////////////////////
  365.  
  366. typedef int          ( FAR PASCAL _export *LPFUNC_GO_TOP       )( LLOBJECT LLObjectGraph ) ;
  367.  
  368. typedef int          ( FAR PASCAL _export *LPFUNC_GO_BOTTOM    )( LLOBJECT LLObjectGraph ) ;
  369.  
  370. typedef int          ( FAR PASCAL _export *LPFUNC_SKIPPER      )( LLOBJECT LLObjectGraph ,
  371.                                                                   int       nbLineToSkip ) ;
  372.  
  373. typedef double far * ( FAR PASCAL _export *LPFUNC_DATA         )( LLOBJECT LLObjectColumn ) ;
  374.  
  375. typedef char   far * ( FAR PASCAL _export *LPFUNC_GETLABEL     )( LLOBJECT LLObjectXaxis ) ;
  376.  
  377. typedef double far * ( FAR PASCAL _export *LPFUNC_VALUE2SCALE  )( LLOBJECT LLObjectYaxis ,
  378.                                                                   double    ValueToScale ) ;
  379.  
  380. typedef char   far * ( FAR PASCAL _export *LPFUNC_VALUE2STRING )( LLOBJECT LLObjectYaxis  ,
  381.                                                                   double   ValueToConvert );
  382.  
  383. typedef void         ( FAR PASCAL _export *LPFUNC_EXECMOUSE    )( LLOBJECT LLObject        ,
  384.                                                                   unsigned long ObjectPart ,
  385.                                                                   double        Data       ,
  386.                                                                   unsigned long UserParam1 ,
  387.                                                                   unsigned long UserParam2 ,
  388.                                                                   unsigned long UserParam3 ) ;
  389.  
  390. typedef void         ( FAR PASCAL _export *LPFUNC_ERROR        )( LLOBJECT LLObject ,
  391.                                                                   long ErrorCode    ) ;
  392.  
  393.  
  394. ////////////////////////////////////////////////////////////////////////////////
  395. // LIGHT LIB BUSINESS API                                                     //
  396. ////////////////////////////////////////////////////////////////////////////////
  397.  
  398. long  FAR PASCAL _export bMove           ( LLOBJECT LLObjectGraph   ,
  399.                                            unsigned long Direction  ,
  400.                                            int           nRepeat    ) ;
  401.  
  402. long  FAR PASCAL _export bStabilize      ( LLOBJECT LLObjectGraph   ,
  403.                                            int StabilizeAll         ) ;
  404.  
  405. long  FAR PASCAL _export bOnMouse        ( LLOBJECT LLObjectGraph   ,
  406.                                            int xMouse               ,
  407.                                            int yMouse               ,
  408.                                            unsigned long UserParam1 ,
  409.                                            unsigned long UserParam2 ,
  410.                                            unsigned long UserParam3 ) ;
  411.  
  412. long FAR PASCAL _export bPrint           ( LLOBJECT LLObjectGraph   ,
  413.                                            HDC hdc                  ,
  414.                                            unsigned long ScaleRatio ,
  415.                                            int nLeft                ,
  416.                                            int nTop                 ,
  417.                                            int nRight               ,
  418.                                            int nBottom              );
  419.  
  420.  
  421. #endif // LLB_HEADER
  422.  
  423.  
  424.  
  425.